import { ref } from 'vue'

const useForm = (cb) => {
  /** 创建表单ref */
  const formRef = ref(null)
  /** 表单搜索 */
  const search = async () => {
    if (!formRef.value) return
    await formRef.value.validate((valid) => {
      if (valid) {
        // 表单校验成功
        cb && typeof cb === 'function' && cb()
      }
    })
  }
  /** 表单重置 */
  const reset = () => {
    console.log('reset: ', formRef.value);
    if (!formRef.value) return
    formRef.value.resetFields()
  }
  /** 表单校验 */
  const validate = (...args) => {
    if (!formRef.value) return
    formRef.value.validateField(...args)
  }
  return { formRef, search, reset, validate }
}

export default useForm